//
//  ViewManager.h
//  HeartBeat
//
//  Created by karong on 2023/8/23.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN

@interface ViewManager : NSObject
+ (UIViewController *)loginVC;
+ (UIViewController *)followItemVCInController:(UIViewController *)vc;
+ (UIViewController *)historyVCInController:(UIViewController *)vc;
+ (UIViewController *)discoverItemVCWithChannel:(id)channel;
+ (UIViewController *)channelVCWithChannel:(id)channel;
+ (UIViewController *)searchResultVC;
+ (UIViewController *)rankItemVC;
+ (UIViewController *)readSubControllerVC;
+ (UIViewController *)payVC;
+ (UIViewController *)vipVC;

+ (UIViewController *)pushTaskVCInController:(UIViewController *)vc;
+ (UIViewController *)pushNovelDetailVCWithNovel:(id)novel inController:(UIViewController *)vc;
+ (UIViewController *)showChapterVCWithNovel:(id)novel selectHandle:(回调一个对象)selectHandle inController:(UIViewController *)vc;
+ (UIViewController *)pushWebVCWithUrl:(NSString *)url titleStr:(NSString *)titleStr inController:(UIViewController *)vc;
+ (UIViewController *)pushUserInfoVCWithUser:(id)user inController:(UIViewController *)vc;
+ (UIViewController *)pushFeedbackVCInController:(UIViewController *)vc;
+ (UIViewController *)pushSettingVCInController:(UIViewController *)vc;
+ (UIViewController *)showLoginVCInController:(UIViewController *)vc;
+ (UIViewController *)pushReadVCWithNovel_id:(NSInteger)novel_id chapter_id:(NSInteger)chapter_id inController:(UIViewController *)vc;
+ (UIViewController *)pushCoinVCWithChapter:(id)chapter inController:(UIViewController *)vc;
+ (UIViewController *)pushMembershipVCWithChapter:(id)chapter inController:(UIViewController *)vc;
+ (UIViewController *)showReadGuideVCInController:(UIViewController *)vc;
+ (UIViewController *)pushRankVCInController:(UIViewController *)vc;
+ (UIViewController *)pushScoreVCWithNovel:(id)novel inController:(UIViewController *)vc;
+ (UIViewController *)pushReadEndVCWithNovel:(id)novel inController:(UIViewController *)vc;

///Alter
+ (UIViewController *)showAlterWithTitle:(NSString *)title
                                 content:(NSString *)content
                                 confirm:(NSString *)confirm
                           confirmHandle:(空回调)confirmHandle
                                  cancel:(NSString *)cancel
                            cancelHandle:(空回调)cancelHandle
                            inController:(UIViewController *)vc;
+ (UIViewController *)showTipsAlterWithTitle:(NSString *)title
                                     content:(NSString *)content
                                     confirm:(NSString *)confirm
                                inController:(UIViewController *)vc;
+ (UIViewController *)showUserAvatarWithSelectHandle:(回调一个数字)selectSexHandle
                                        inController:(UIViewController *)vc;
+ (UIViewController *)showUserSexWithSelectHandle:(回调一个数字)selectSexHandle
                                     inController:(UIViewController *)vc;
+ (UIViewController *)showLanguageWithSelectHandle:(回调一个数字)selectSexHandle
                                      inController:(UIViewController *)vc;
+ (UIViewController *)showTextFieldAlterWithTitle:(NSString *)title
                                          content:(NSString *)content
                                   placeholderStr:(NSString *)placeholderStr
                                     maxWordCount:(NSInteger)maxWordCount
                                          confirm:(NSString *)confirm
                                    confirmHandle:(回调一个字符串)confirmHandle
                                           cancel:(NSString *)cancel
                                     inController:(UIViewController *)vc;
+ (UIViewController *)showTextViewAlterWithTitle:(NSString *)title
                                         content:(NSString *)content
                                    maxWordCount:(NSInteger)maxWordCount
                                         confirm:(NSString *)confirm
                                   confirmHandle:(回调一个字符串)confirmHandle
                                          cancel:(NSString *)cancel
                                    inController:(UIViewController *)vc;
+ (UIViewController *)showPickerAlterWithTitle:(NSString *)title
                                     dataArray:(NSArray *)dataArray
                                  selectHandle:(回调一个对象)selectHandle
                                  inController:(UIViewController *)vc;
+ (UIViewController *)showImageAlterWithImageUrl:(NSString *)imageUrl
                                    inController:(UIViewController *)vc;
+ (UIViewController *)showNewVersionCodeAlterInController:(UIViewController *)vc;
+ (UIViewController *)showDeleteUserAlterWithConfirmHandle:(空回调)confirmHandle
                                              inController:(UIViewController *)vc;
+ (UIViewController *)showTaskSuccessVCWithModel:(id)model inController:(UIViewController *)vc;
+ (UIViewController *)showTaskRoleAlterAlterInController:(UIViewController *)vc;
#pragma mark - Storyboard
+ (UIViewController *)currentViewController;

+ (void)viewControllJumpWithjumpType:(HBControllerJumpType)jumpType vc:(UIViewController *)vc dataDic:(NSDictionary *)dataDic;
@end

NS_ASSUME_NONNULL_END
